04. Tips

Here are a few tips to keep in mind as you develop your project.

Tips

Check out the coding quizzes and coding quiz answers from the lesson
  • Use the coding quizzes from the lecture to help guide you. You have already implemented the prediction step and radar update step for the unscented Kalman filter. In the project, you will also need to code the update step for lidar.
Normalize Angles
  • Don't forget to normalize angles so that angles are between -\pi and \pi. The lectures explained how to do this.
Don't Forget to Tune Parameters and Initialize Variables
  • In the starter code, we have given values for the process noise and measurement noise. You will need to tune the process noise parameters std_a_ and std_yawdd_ in order to get your solution working on both datasets. The measurement noise parameters for lidar and radar should be left as given.
  • You will also need to initialize your state vector x and state covariance matrix P with appropriate values.
  • If you are having trouble finding appropriate values for your parameters, consider analyzing the data file first. Between time intervals, how much does the object tend to accelerate? What is the maximum acceleration? What is the standard deviation of the acceleration? You can calculate approximate accelerations by dividing changes in velocity by the change in time.
Check for Divide By Zero
  • Check for divides by zero.
Debug
  • If you implement your solution based on the code taught in the unscented Kalman filter lesson and also find appropriate parameters, you can reach the required RMSE values in the rubric! If you find your code hangs, try adding print statements to figure out why. Your code might be correct but you might need to do more parameter tuning or adjust your initialization values.

Ideas for Standing out

  • Use NIS to help tune your parameters
  • Visualize the ground truth, sensor measurements, and your Kalman filter results
  • Compare your UKF and EKF project results. Both projects use the same data file. RMSE, especially for v_x and v_y should be lower for the UKF project than the EKF project. Why might that be?